>>30No, weak typing is when values have types but the language inserts all sorts of implicit conversions in an attempt to guess the programmer's intentions. C's ability to cast to
*void
is 1) explicit, so definitely not weakly-typed 2) defeats the very point of types.
Being able to reinterpret the bits of a value however you want is lack of typing, not weak or strong typing. Types were invented for holding information how any given bitstring is to be interpreted. C allows you to sidestep this and reinterpret any bit string (e.g. a pointer or a floating-point number) however you want. This means it ultimately has no types, neither weak ones nor strong ones.
JavaScript and PHP are, in fact, strongly typed
Nope, at least not completely strongly typed, and since they're so weak in the spots that matter most, they are, for most intents and purposes, weakly typed.