title: JSON_NUMERIC_CHECK and phone numbers
body: <p>Our PHP API outputs results using json_encode with JSON_NUMERIC_CHECK enabled, which is important for financial figures, binary values etc.. but we have recently introduced a phone number field, and it is removing zeros from the beginning of the number when it casts it as an integer.</p>
  
  <p>I've tried to force "(string)" type on the value before it goes to json_encode, but it looks like the function is overriding it. eg:</p>
  
  <pre><code>$output = array(
      'is_bool' =&gt; 1,
      'total_amount' =&gt; '431.65',
      'phone_number' =&gt; (string) '0272561313'
  );
  echo json_encode($output,JSON_NUMERIC_CHECK);
  </code></pre>
  
  <p>Produces:</p>
  
  <pre><code>{"is_bool":1,"total_amount":431.65,"phone_number":272561313}
  </code></pre>
  
  <p>Any suggestions on how to best handle this would be much appreciated. I really don't want to have to resort to adding trailing spaces at the end of the phone number when it's output just to get it through as a string.</p>
  
  <p>Thanks!</p>